import java.util.Scanner;

public class Fib {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int ret=Fibonacci(n);
        System.out.println(ret);

    }

        public static int Fibonacci(int n) {
        //递归解法
//        if(n==0)
            //       {
            //           return 0;
//        }
//        if(n==1 || n==2)
//        {
//           return 1;
//       }
//        return Fibonacci(n-1)+Fibonacci(n-2);

            /*
            //动态规划
            //1. 申请一个数组，保存子问题的解，题目要求从第0项开始
            int[] F=new int[n+1];
            //2.初始化值
            F[0]=0;
            F[1]=1;
            //3.状态转移方程
            for(int i=2;i<=n ;i++)
            {
                F[i]=F[i-1]+F[i-2];
            }
            //4.返回结果
            return F[n];*/



            //非递归
            int fn=0;
            int fn0=0;
            int fn1=1;
            for (int i = 2; i <=n ; i++) {
                fn=fn0+fn1;
                fn0=fn1;
                fn1=fn;
            }
            return fn;
        }
}
